| sed 's/\..*//; s/-/_/g; 1q'`
signature="${signature_compiler}_${signature_compiler_version}-${release_debug}${mt_sfx}${dll_sfx}${bit64_sfx}${prof_sfx}--${verbose_host}-${signature_hostname}"
AC_DEFINE_UNQUOTED(NCBI_SIGNATURE, "$signature",
+--- ncbi-blastplus.orig/c++/include/algo/blast/core/blast_message.h
++++ ncbi-blastplus/c++/include/algo/blast/core/blast_message.h
+@@ -117,7 +117,7 @@
+
+ /** Convenient define to call the function Blast_PerrorEx. */
+ #define Blast_PerrorWithLocation(msg, error_code, context) \
+-Blast_PerrorEx(msg, error_code, __FILE__, __LINE__, context)
++Blast_PerrorEx(msg, error_code, 'c++/include/algo/blast/core/blast_message.h', __LINE__, context)
+
+ /** Extended version of Blast_Perror which includes parameters for the file
+ * name and line number where the error/warning occurred. This function should
+--- ncbi-blastplus.orig/c++/include/connect/ncbi_util.h
++++ ncbi-blastplus/c++/include/connect/ncbi_util.h
+@@ -113,7 +113,7 @@
+ */
+ #define LOG_WRITE(lg, code, subcode, level, message) \
+ LOG_Write(lg, code, subcode, level, THIS_MODULE, CORE_CURRENT_FUNCTION, \
+- __FILE__, __LINE__, message, 0, 0)
++ 'c++/include/connect/ncbi_util.h', __LINE__, message, 0, 0)
+
+ #ifdef LOG_DATA
+ /* AIX's <pthread.h> defines LOG_DATA to be an integer constant;
+@@ -122,7 +122,7 @@
+ #endif
+ #define LOG_DATA(lg, code, subcode, level, data, size, message) \
+ LOG_Write(lg, code, subcode, level, THIS_MODULE, CORE_CURRENT_FUNCTION, \
+- __FILE__, __LINE__, message, data, size)
++ 'c++/include/connect/ncbi_util.h', __LINE__, message, data, size)
+
+
+ /** Default for THIS_MODULE.
+--- ncbi-blastplus.orig/c++/include/corelib/impl/ncbi_java.h
++++ ncbi-blastplus/c++/include/corelib/impl/ncbi_java.h
+@@ -63,7 +63,7 @@
+
+ #define JAVA_ABORT(msg) \
+ { \
+- NcbiCerr << __FILE__ << ": " << NCBI_CURRENT_FUNCTION << ": " msg << endl; \
++ NcbiCerr << 'c++/include/corelib/impl/ncbi_java.h' << ": " << NCBI_CURRENT_FUNCTION << ": " msg << endl; \
+ abort(); \
+ }
+
+--- ncbi-blastplus.orig/c++/include/corelib/ncbidiag.hpp
++++ ncbi-blastplus/c++/include/corelib/ncbidiag.hpp
+@@ -55,7 +55,7 @@
+ BEGIN_NCBI_SCOPE
+
+ /// Incapsulate compile time information such as
+-/// __FILE__, __LINE__, NCBI_MODULE, current function.
++/// 'c++/include/corelib/ncbidiag.hpp', __LINE__, NCBI_MODULE, current function.
+ /// @note
+ /// NCBI_MODULE is used only in .cpp files
+ /// @sa
+@@ -167,7 +167,7 @@
+ /// @sa
+ /// CDiagCompileInfo
+ #define DIAG_COMPILE_INFO \
+- NCBI_NS_NCBI::CDiagCompileInfo(__FILE__, \
++ NCBI_NS_NCBI::CDiagCompileInfo('c++/include/corelib/ncbidiag.hpp', \
+ __LINE__, \
+ NCBI_CURRENT_FUNCTION, \
+ NCBI_MAKE_MODULE(NCBI_MODULE))
+--- ncbi-blastplus.orig/c++/include/corelib/test_boost.hpp
++++ ncbi-blastplus/c++/include/corelib/test_boost.hpp
+@@ -249,7 +249,7 @@
+ BOOST_JOIN( BOOST_JOIN( test_name, _registrar ), __LINE__ ) ( \
+ boost::unit_test::make_test_case( \
+ &BOOST_AUTO_TC_INVOKER( test_name ), #test_name, \
+- __FILE__, __LINE__ ), \
++ 'c++/include/corelib/test_boost.hpp', __LINE__ ), \
+ ::NCBI_NS_NCBI::SNcbiTestTCTimeout< \
+ BOOST_AUTO_TC_UNIQUE_ID( test_name )>::instance()->value(), \
+ decorators ); \
+--- ncbi-blastplus.orig/c++/include/objtools/blast/seqdb_reader/impl/seqdbgeneral.hpp
++++ ncbi-blastplus/c++/include/objtools/blast/seqdb_reader/impl/seqdbgeneral.hpp
+@@ -1124,7 +1124,7 @@
+ #define SEQDB_FILE_ASSERT(YESNO) \
+ do { \
+ if (! (YESNO)) { \
+- SeqDB_FileIntegrityAssert(__FILE__, __LINE__, (#YESNO)); \
++ SeqDB_FileIntegrityAssert('c++/include/objtools/blast/seqdb_reader/impl/seqdbgeneral.hpp', __LINE__, (#YESNO)); \
+ } \
+ } while(0)
+
+--- ncbi-blastplus.orig/c++/include/util/ddump_viewer.hpp
++++ ncbi-blastplus/c++/include/util/ddump_viewer.hpp
+@@ -49,7 +49,7 @@
+ //
+
+ #define DEBUGDUMP_BPT(name,obj) \
+- do {CDebugDumpViewer().Bpt(name,&(obj),__FILE__,__LINE__);} while (0)
++ do {CDebugDumpViewer().Bpt(name,&(obj),'c++/include/util/ddump_viewer.hpp',__LINE__);} while (0)
+
+
+ //---------------------------------------------------------------------------
+--- ncbi-blastplus.orig/c++/include/util/static_set.hpp
++++ ncbi-blastplus/c++/include/util/static_set.hpp
+@@ -886,17 +886,17 @@
+ static const Type Var
+
+ #define DEFINE_STATIC_ARRAY_MAP(Type, Var, Array) \
+- static const Type (Var)((Array), sizeof(Array), __FILE__, __LINE__)
++ static const Type (Var)((Array), sizeof(Array), 'c++/include/util/static_set.hpp', __LINE__)
+
+ #define DEFINE_CLASS_STATIC_ARRAY_MAP(Type, Var, Array) \
+- const Type (Var)((Array), sizeof(Array), __FILE__, __LINE__)
++ const Type (Var)((Array), sizeof(Array), 'c++/include/util/static_set.hpp', __LINE__)
+
+ #define DEFINE_STATIC_ARRAY_MAP_WITH_COPY(Type, Var, Array) \
+- static const Type (Var)((Array), sizeof(Array), __FILE__, __LINE__, \
++ static const Type (Var)((Array), sizeof(Array), 'c++/include/util/static_set.hpp', __LINE__, \
+ NCBI_NS_NCBI::NStaticArray::eCopyWarn_hide)
+
+ #define DEFINE_CLASS_STATIC_ARRAY_MAP_WITH_COPY(Type, Var, Array) \
+- const Type (Var)((Array), sizeof(Array), __FILE__, __LINE__, \
++ const Type (Var)((Array), sizeof(Array), 'c++/include/util/static_set.hpp', __LINE__, \
+ NCBI_NS_NCBI::NStaticArray::eCopyWarn_hide)
+
+
+--- ncbi-blastplus.orig/c++/src/connect/mbedtls/mbedtls/debug.h
++++ ncbi-blastplus/c++/src/connect/mbedtls/mbedtls/debug.h
+@@ -40,28 +40,28 @@
+ #define MBEDTLS_DEBUG_STRIP_PARENS( ... ) __VA_ARGS__
+
+ #define MBEDTLS_SSL_DEBUG_MSG( level, args ) \
+- mbedtls_debug_print_msg( ssl, level, __FILE__, __LINE__, \
++ mbedtls_debug_print_msg( ssl, level, 'c++/src/connect/mbedtls/mbedtls/debug.h', __LINE__, \
+ MBEDTLS_DEBUG_STRIP_PARENS args )
+
+ #define MBEDTLS_SSL_DEBUG_RET( level, text, ret ) \
+- mbedtls_debug_print_ret( ssl, level, __FILE__, __LINE__, text, ret )
++ mbedtls_debug_print_ret( ssl, level, 'c++/src/connect/mbedtls/mbedtls/debug.h', __LINE__, text, ret )
+
+ #define MBEDTLS_SSL_DEBUG_BUF( level, text, buf, len ) \
+- mbedtls_debug_print_buf( ssl, level, __FILE__, __LINE__, text, buf, len )
++ mbedtls_debug_print_buf( ssl, level, 'c++/src/connect/mbedtls/mbedtls/debug.h', __LINE__, text, buf, len )
+
+ #if defined(MBEDTLS_BIGNUM_C)
+ #define MBEDTLS_SSL_DEBUG_MPI( level, text, X ) \
+- mbedtls_debug_print_mpi( ssl, level, __FILE__, __LINE__, text, X )
++ mbedtls_debug_print_mpi( ssl, level, 'c++/src/connect/mbedtls/mbedtls/debug.h', __LINE__, text, X )
+ #endif
+
+ #if defined(MBEDTLS_ECP_C)
+ #define MBEDTLS_SSL_DEBUG_ECP( level, text, X ) \
+- mbedtls_debug_print_ecp( ssl, level, __FILE__, __LINE__, text, X )
++ mbedtls_debug_print_ecp( ssl, level, 'c++/src/connect/mbedtls/mbedtls/debug.h', __LINE__, text, X )
+ #endif
+
+ #if defined(MBEDTLS_X509_CRT_PARSE_C)
+ #define MBEDTLS_SSL_DEBUG_CRT( level, text, crt ) \
+- mbedtls_debug_print_crt( ssl, level, __FILE__, __LINE__, text, crt )
++ mbedtls_debug_print_crt( ssl, level, 'c++/src/connect/mbedtls/mbedtls/debug.h', __LINE__, text, crt )
+ #endif
+
+ #else /* MBEDTLS_DEBUG_C */
+--- ncbi-blastplus.orig/c++/src/connect/ncbi_lbos_cxx.cpp
++++ ncbi-blastplus/c++/src/connect/ncbi_lbos_cxx.cpp
+@@ -145,7 +145,7 @@
+ {
+ /* Hostname should not be empty in any case */
+ if (hostname.empty()) {
+- throw CLBOSException(CDiagCompileInfo(__FILE__, __LINE__), NULL,
++ throw CLBOSException(CDiagCompileInfo('c++/src/connect/ncbi_lbos_cxx.cpp', __LINE__), NULL,
+ CLBOSException::eUnknown,
+ "Internal error in LBOS Client IP Cache. Please contact developer",
+ eLBOS_BadRequest);
+@@ -217,7 +217,7 @@
+ if (lbos_answer != NULL) {
+ message << " " << lbos_answer;
+ }
+- throw CLBOSException(CDiagCompileInfo(__FILE__, __LINE__), NULL,
++ throw CLBOSException(CDiagCompileInfo('c++/src/connect/ncbi_lbos_cxx.cpp', __LINE__), NULL,
+ CLBOSException::s_HTTPCodeToEnum(result),
+ message.str(), result);
+ }
+@@ -248,7 +248,7 @@
+ /* If we could not parse healthcheck URL, throw "Invalid Arguments" */
+ if (cur_host.empty()) {
+ ConnNetInfo_Destroy(healthcheck_info);
+- throw CLBOSException(CDiagCompileInfo(__FILE__, __LINE__), NULL,
++ throw CLBOSException(CDiagCompileInfo('c++/src/connect/ncbi_lbos_cxx.cpp', __LINE__), NULL,
+ CLBOSException::eInvalidArgs,
+ NStr::IntToString(eLBOS_InvalidArgs),
+ eLBOS_InvalidArgs);
+@@ -307,7 +307,7 @@
+ port_int = NStr::StringToInt(port_str);
+ }
+ catch (...) {
+- throw CLBOSException(CDiagCompileInfo(__FILE__, __LINE__), NULL,
++ throw CLBOSException(CDiagCompileInfo('c++/src/connect/ncbi_lbos_cxx.cpp', __LINE__), NULL,
+ CLBOSException::eInvalidArgs,
+ "Could not parse port \"" + port_str +
+ "\" in section \"" + reg_section + "\"",
+@@ -315,7 +315,7 @@
+ }
+ if (port_int < 1 || port_int > 65535)
+ {
+- throw CLBOSException(CDiagCompileInfo(__FILE__, __LINE__), NULL,
++ throw CLBOSException(CDiagCompileInfo('c++/src/connect/ncbi_lbos_cxx.cpp', __LINE__), NULL,
+ CLBOSException::eInvalidArgs,
+ "Invalid server port \"" + port_str +
+ "\" in section \"" + reg_section + "\"",
+@@ -623,7 +623,7 @@
+ /* Forbidden names for meta parameters */
+ if (name == "version" || name == "ip" || name == "port" || name == "check"
+ || name == "format" || name == "name") {
+- throw CLBOSException(CDiagCompileInfo(__FILE__, __LINE__), NULL,
++ throw CLBOSException(CDiagCompileInfo('c++/src/connect/ncbi_lbos_cxx.cpp', __LINE__), NULL,
+ CLBOSException::eInvalidArgs,
+ "This name cannot be used for metadata",
+ eLBOS_InvalidArgs);
+@@ -679,7 +679,7 @@
+ SetRate(NStr::StringToInt(rate));
+ }
+ catch (const CStringException&) {
+- throw CLBOSException(CDiagCompileInfo(__FILE__, __LINE__), NULL,
++ throw CLBOSException(CDiagCompileInfo('c++/src/connect/ncbi_lbos_cxx.cpp', __LINE__), NULL,
+ CLBOSException::eInvalidArgs,
+ "Could not parse string value for SetRate",
+ eLBOS_InvalidArgs);
+@@ -706,7 +706,7 @@
+ return NStr::StringToDouble(rate);
+ }
+ catch (const CStringException&) {
+- throw CLBOSException(CDiagCompileInfo(__FILE__, __LINE__), NULL,
++ throw CLBOSException(CDiagCompileInfo('c++/src/connect/ncbi_lbos_cxx.cpp', __LINE__), NULL,
+ CLBOSException::eInvalidArgs,
+ "Value in \"rate\" meta parameter cannot "
+ "be represented as an integer",
+@@ -718,7 +718,7 @@
+ void LBOS::CMetaData::SetType(const string& host_type)
+ {
+ if (host_type.find_first_of(" \t\n\v\f\r") != string::npos) {
+- throw CLBOSException(CDiagCompileInfo(__FILE__, __LINE__), NULL,
++ throw CLBOSException(CDiagCompileInfo('c++/src/connect/ncbi_lbos_cxx.cpp', __LINE__), NULL,
+ CLBOSException::eInvalidArgs,
+ "This convenience function throws on whitespace characters "
+ "in \"type\" meta parameter. If you know what you are doing, "
+@@ -759,7 +759,7 @@
+ SetType("");
+ break;
+ default:
+- throw CLBOSException(CDiagCompileInfo(__FILE__, __LINE__), NULL,
++ throw CLBOSException(CDiagCompileInfo('c++/src/connect/ncbi_lbos_cxx.cpp', __LINE__), NULL,
+ CLBOSException::eInvalidArgs, "Unknown EHostType "
+ "value. If you are sure that a correct value is "
+ "used, please tell the developer about this issue",
+@@ -793,7 +793,7 @@
+ SetType("FIREWALL");
+ break;
+ default:
+- throw CLBOSException(CDiagCompileInfo(__FILE__, __LINE__), NULL,
++ throw CLBOSException(CDiagCompileInfo('c++/src/connect/ncbi_lbos_cxx.cpp', __LINE__), NULL,
+ CLBOSException::eInvalidArgs, "Unknown ESERV_Type "
+ "value. If you are sure that a correct value is "
+ "used, please tell the developer about this issue",
+@@ -824,7 +824,7 @@
+ SetType("");
+ break;
+ default:
+- throw CLBOSException(CDiagCompileInfo(__FILE__, __LINE__), NULL,
++ throw CLBOSException(CDiagCompileInfo('c++/src/connect/ncbi_lbos_cxx.cpp', __LINE__), NULL,
+ CLBOSException::eInvalidArgs, "Unknown EHostType "
+ "value. If you are sure that a correct value is "
+ "used, please tell the developer about this issue",
+@@ -870,7 +870,7 @@
+ void LBOS::CMetaData::SetExtra(const string& extra)
+ {
+ if (extra.find_first_of(" \t\n\v\f\r") != string::npos) {
+- throw CLBOSException(CDiagCompileInfo(__FILE__, __LINE__), NULL,
++ throw CLBOSException(CDiagCompileInfo('c++/src/connect/ncbi_lbos_cxx.cpp', __LINE__), NULL,
+ CLBOSException::eInvalidArgs,
+ "This convenience function throws on whitespace characters "
+ "in \"extra\" meta parameter. If you know what you are doing, "
+--- ncbi-blastplus.orig/c++/src/connect/ncbi_monkey.cpp
++++ ncbi-blastplus/c++/src/connect/ncbi_monkey.cpp
+@@ -83,7 +83,7 @@
+ const string kSeedField = "seed";
+
+ #define PARAM_TWICE_EXCEPTION(param) \
+- throw CMonkeyException(CDiagCompileInfo(__FILE__, __LINE__), \
++ throw CMonkeyException(CDiagCompileInfo('c++/src/connect/ncbi_monkey.cpp', __LINE__), \
+ NULL, CMonkeyException::e_MonkeyInvalidArgs, \
+ string("Parameter \"" param "\" is set " \
+ "twice in [") + GetSection() + "]" + \
+@@ -371,7 +371,7 @@
+ case eMonkey_Send:
+ return "write";
+ default:
+- throw CMonkeyException(CDiagCompileInfo(__FILE__, __LINE__),
++ throw CMonkeyException(CDiagCompileInfo('c++/src/connect/ncbi_monkey.cpp', __LINE__),
+ NULL, CMonkeyException::e_MonkeyInvalidArgs,
+ string("Unknown EMonkeyActionType value"));
+ }
+@@ -390,7 +390,7 @@
+ case eMonkey_Connect:
+ return "connect()";
+ default:
+- throw CMonkeyException(CDiagCompileInfo(__FILE__, __LINE__),
++ throw CMonkeyException(CDiagCompileInfo('c++/src/connect/ncbi_monkey.cpp', __LINE__),
+ NULL, CMonkeyException::e_MonkeyInvalidArgs,
+ string("Unknown EMonkeyActionType value"));
+ }
+@@ -467,7 +467,7 @@
+ {
+ if (m_RunPos.find(sock) == m_RunPos.end()) {
+ throw CMonkeyException(
+- CDiagCompileInfo(__FILE__, __LINE__),
++ CDiagCompileInfo('c++/src/connect/ncbi_monkey.cpp', __LINE__),
+ NULL, CMonkeyException::e_MonkeyInvalidArgs,
+ "The socket provided has not been registered with current rule");
+ }
+@@ -511,7 +511,7 @@
+ m_ReturnStatus = eIO_Closed;
+ } else if (eIOStatus == "eio_invalidarg") {
+ throw CMonkeyException(
+- CDiagCompileInfo(__FILE__, __LINE__),
++ CDiagCompileInfo('c++/src/connect/ncbi_monkey.cpp', __LINE__),
+ NULL, CMonkeyException::e_MonkeyInvalidArgs,
+ string("Unsupported 'return_status': ") + eIOStatus_in);
+ } else if (eIOStatus == "eio_interrupt") {
+@@ -526,7 +526,7 @@
+ m_ReturnStatus = eIO_NotSupported;
+ } else {
+ throw CMonkeyException(
+- CDiagCompileInfo(__FILE__, __LINE__),
++ CDiagCompileInfo('c++/src/connect/ncbi_monkey.cpp', __LINE__),
+ NULL, CMonkeyException::e_MonkeyInvalidArgs,
+ string("Could not parse 'return_status': ") + eIOStatus_in);
+ }
+@@ -543,7 +543,7 @@
+ split it on commas*/
+ vector<string> runs_list = s_Monkey_Split(runs, ',');
+ if (runs_list.size() == 0)
+- throw CMonkeyException(CDiagCompileInfo(__FILE__, __LINE__),
++ throw CMonkeyException(CDiagCompileInfo('c++/src/connect/ncbi_monkey.cpp', __LINE__),
+ NULL, CMonkeyException::e_MonkeyInvalidArgs,
+ string("Parameter \"runs\" is empty in [")
+ + m_Section + "]" +
+@@ -573,7 +573,7 @@
+ if (m_RunMode == eMonkey_RunProbability) {
+ if (*run.rbegin() != '%') {
+ throw CMonkeyException(
+- CDiagCompileInfo(__FILE__, __LINE__),
++ CDiagCompileInfo('c++/src/connect/ncbi_monkey.cpp', __LINE__),
+ NULL, CMonkeyException::e_MonkeyInvalidArgs,
+ "Value is not percentage: " + run +
+ ", values have to be either only percentages or "
+@@ -593,7 +593,7 @@
+ size_t last_step = m_Runs.size();
+ if (last_step == 0 && step != 1) {
+ throw CMonkeyException(
+- CDiagCompileInfo(__FILE__, __LINE__),
++ CDiagCompileInfo('c++/src/connect/ncbi_monkey.cpp', __LINE__),
+ NULL, CMonkeyException::e_MonkeyInvalidArgs,
+ "In the string of runs: " + runs + " the first "
+ "element MUST set value for the first run");
+@@ -610,7 +610,7 @@
+ assert(run_format == eMonkey_RunSequence);
+ if (*run.rbegin() == '%') {
+ throw CMonkeyException(
+- CDiagCompileInfo(__FILE__, __LINE__),
++ CDiagCompileInfo('c++/src/connect/ncbi_monkey.cpp', __LINE__),
+ NULL, CMonkeyException::e_MonkeyInvalidArgs,
+ string("Value is percentage: ") + run +
+ string(", values have to be either only percentages or "
+@@ -619,7 +619,7 @@
+ int val = NStr::StringToInt(run);
+ if (m_Runs.size() > 0 && val <= *m_Runs.rbegin()) {
+ throw CMonkeyException(
+- CDiagCompileInfo(__FILE__, __LINE__),
++ CDiagCompileInfo('c++/src/connect/ncbi_monkey.cpp', __LINE__),
+ NULL, CMonkeyException::e_MonkeyInvalidArgs,
+ string("\"runs\" should contain values in "
+ "increasing order"));
+@@ -815,7 +815,7 @@
+ string value = name_value[1];
+ if (name == "allow") {
+ if (allow_set) {
+- throw CMonkeyException(CDiagCompileInfo(__FILE__, __LINE__),
++ throw CMonkeyException(CDiagCompileInfo('c++/src/connect/ncbi_monkey.cpp', __LINE__),
+ NULL,
+ CMonkeyException::e_MonkeyInvalidArgs,
+ string("Parameter \"allow\" is set "
+@@ -827,7 +827,7 @@
+ }
+ }
+ if (!allow_set)
+- throw CMonkeyException(CDiagCompileInfo(__FILE__, __LINE__),
++ throw CMonkeyException(CDiagCompileInfo('c++/src/connect/ncbi_monkey.cpp', __LINE__),
+ NULL, CMonkeyException::e_MonkeyInvalidArgs,
+ string("Parameter \"allow\" not set in [")
+ + GetSection() + "]" +
+@@ -902,7 +902,7 @@
+ string value = name_value[1];
+ if (name == "ignore") {
+ if (ignore_set) {
+- throw CMonkeyException(CDiagCompileInfo(__FILE__, __LINE__),
++ throw CMonkeyException(CDiagCompileInfo('c++/src/connect/ncbi_monkey.cpp', __LINE__),
+ NULL,
+ CMonkeyException::e_MonkeyInvalidArgs,
+ string("Parameter \"ignore\" is set "
+@@ -914,7 +914,7 @@
+ }
+ }
+ if (!ignore_set) {
+- throw CMonkeyException(CDiagCompileInfo(__FILE__, __LINE__),
++ throw CMonkeyException(CDiagCompileInfo('c++/src/connect/ncbi_monkey.cpp', __LINE__),
+ NULL, CMonkeyException::e_MonkeyInvalidArgs,
+ string("Parameter \"ignore\" not set in [")
+ + GetSection() + "]" +
+@@ -1032,7 +1032,7 @@
+ ".*" , "");
+ if (filtered.find_first_of("[]()+^?{}$.*\\") != string::npos) {
+ throw CMonkeyException(
+- CDiagCompileInfo(__FILE__, __LINE__),
++ CDiagCompileInfo('c++/src/connect/ncbi_monkey.cpp', __LINE__),
+ NULL,
+ CMonkeyException::e_MonkeyInvalidArgs,
+ exception_message);
+@@ -1051,7 +1051,7 @@
+ }
+ else {
+ throw CMonkeyException(
+- CDiagCompileInfo(__FILE__, __LINE__),
++ CDiagCompileInfo('c++/src/connect/ncbi_monkey.cpp', __LINE__),
+ NULL,
+ CMonkeyException::e_MonkeyInvalidArgs,
+ exception_message);
+@@ -1179,7 +1179,7 @@
+ ss << "Probability below zero for write rule in plan " << m_Name
+ << ". Check config!";
+ throw CMonkeyException(
+- CDiagCompileInfo(__FILE__, __LINE__),
++ CDiagCompileInfo('c++/src/connect/ncbi_monkey.cpp', __LINE__),
+ NULL, CMonkeyException::e_MonkeyInvalidArgs,
+ ss.str());
+ }
+@@ -1221,7 +1221,7 @@
+ stringstream ss;
+ ss << "Probability below zero for write rule in plan " << m_Name
+ << ". Check config!";
+- throw CMonkeyException(CDiagCompileInfo(__FILE__, __LINE__),
++ throw CMonkeyException(CDiagCompileInfo('c++/src/connect/ncbi_monkey.cpp', __LINE__),
+ NULL, CMonkeyException::e_MonkeyInvalidArgs,
+ ss.str());
+ }
+@@ -1270,7 +1270,7 @@
+ stringstream ss;
+ ss << "Probability below zero for write rule in plan " << m_Name
+ << ". Check config!";
+- throw CMonkeyException(CDiagCompileInfo(__FILE__, __LINE__),
++ throw CMonkeyException(CDiagCompileInfo('c++/src/connect/ncbi_monkey.cpp', __LINE__),
+ NULL, CMonkeyException::e_MonkeyInvalidArgs,
+ ss.str());
+ }
+@@ -1313,7 +1313,7 @@
+ ss << "Probability below zero for write rule in plan " << m_Name
+ << ". Check config!";
+ throw CMonkeyException(
+- CDiagCompileInfo(__FILE__, __LINE__),
++ CDiagCompileInfo('c++/src/connect/ncbi_monkey.cpp', __LINE__),
+ NULL, CMonkeyException::e_MonkeyInvalidArgs,
+ ss.str());
+ }
+@@ -1372,7 +1372,7 @@
+ {
+ if (sm_HookSwitch == NULL) {
+ throw CMonkeyException(
+- CDiagCompileInfo(__FILE__, __LINE__),
++ CDiagCompileInfo('c++/src/connect/ncbi_monkey.cpp', __LINE__),
+ NULL, CMonkeyException::e_MonkeyInvalidArgs,
+ "Launch CONNECT_Init() before initializing CMonkey instance");
+ }
+@@ -1458,7 +1458,7 @@
+ prob = (int)(NStr::StringToDouble(prob_str) * 100);
+ }
+ if (prob < 0 || prob > 100) {
+- throw CMonkeyException(CDiagCompileInfo(__FILE__, __LINE__),
++ throw CMonkeyException(CDiagCompileInfo('c++/src/connect/ncbi_monkey.cpp', __LINE__),
+ NULL,
+ CMonkeyException::e_MonkeyInvalidArgs,
+ "Parameter \"probability\"=" + prob_str
+@@ -1469,7 +1469,7 @@
+ m_Probability = (unsigned short)prob;
+ }
+ catch (const CStringException&) {
+- throw CMonkeyException(CDiagCompileInfo(__FILE__, __LINE__),
++ throw CMonkeyException(CDiagCompileInfo('c++/src/connect/ncbi_monkey.cpp', __LINE__),
+ NULL, CMonkeyException::e_MonkeyInvalidArgs,
+ "Parameter \"probability\"=" + prob_str
+ + " for section [" + monkey_section
+@@ -1757,7 +1757,7 @@
+ << " has been already registered in CMonkey and cannot be used again";
+ if (m_RegisteredTokens.find(token) != m_RegisteredTokens.end()) {
+ throw CMonkeyException(
+- CDiagCompileInfo(__FILE__, __LINE__),
++ CDiagCompileInfo('c++/src/connect/ncbi_monkey.cpp', __LINE__),
+ NULL, CMonkeyException::e_MonkeyInvalidArgs,
+ ss.str());
+ }
+--- ncbi-blastplus.orig/c++/src/connect/ncbi_priv.h
++++ ncbi-blastplus/c++/src/connect/ncbi_priv.h
+@@ -223,7 +223,7 @@
+ _mess.level = _xx_level; \
+ _mess.module = THIS_MODULE; \
+ _mess.func = CORE_CURRENT_FUNCTION; \
+- _mess.file = __FILE__; \
++ _mess.file = 'c++/src/connect/ncbi_priv.h'; \
+ _mess.line = __LINE__; \
+ _mess.raw_data = (_raw_data); \
+ _mess.raw_size = (_raw_size); \
+--- ncbi-blastplus.orig/c++/src/objects/seqfeat/BioSource.cpp
++++ ncbi-blastplus/c++/src/objects/seqfeat/BioSource.cpp
+@@ -938,7 +938,7 @@
+ };
+
+ typedef CStaticArraySet<const char*, PNocase_CStr> TCIgnoreCaseQualsSet;
+-static const TCIgnoreCaseQualsSet s_IgnoreCaseQualsSet(s_IgnoreCaseQuals, sizeof(s_IgnoreCaseQuals), __FILE__, __LINE__);
++static const TCIgnoreCaseQualsSet s_IgnoreCaseQualsSet(s_IgnoreCaseQuals, sizeof(s_IgnoreCaseQuals), 'c++/src/objects/seqfeat/BioSource.cpp', __LINE__);
+
+ bool s_MayIgnoreCase(const string& value)
+ {
+@@ -960,7 +960,7 @@
+ };
+
+ typedef CStaticArraySet<const char*, PNocase_CStr> TCTaxNameElementQualsSet;
+-static const TCTaxNameElementQualsSet s_TaxNameElementQualsSet(s_TaxNameElementQuals, sizeof(s_TaxNameElementQuals), __FILE__, __LINE__);
++static const TCTaxNameElementQualsSet s_TaxNameElementQualsSet(s_TaxNameElementQuals, sizeof(s_TaxNameElementQuals), 'c++/src/objects/seqfeat/BioSource.cpp', __LINE__);
+
+ bool s_IsTaxNameElement(const string& value)
+ {
+@@ -1364,7 +1364,7 @@
+ };
+
+ typedef CStaticArraySet<const char*, PNocase_CStr> TCStopWordStrSet;
+-static const TCStopWordStrSet s_StopWordsSet(s_StopWords, sizeof(s_StopWords), __FILE__, __LINE__);
++static const TCStopWordStrSet s_StopWordsSet(s_StopWords, sizeof(s_StopWords), 'c++/src/objects/seqfeat/BioSource.cpp', __LINE__);
+
+
+ bool CBioSource::IsStopWord(const string& value)
+--- ncbi-blastplus.orig/c++/src/objects/seqfeat/SubSource.cpp
++++ ncbi-blastplus/c++/src/objects/seqfeat/SubSource.cpp
+@@ -3043,7 +3043,7 @@
+ "Zimbabwe"
+ };
+ typedef CStaticArraySet<const char*, PCase_CStr> TCStrSet;
+-static const TCStrSet s_CountriesSet(s_Countries, sizeof(s_Countries), __FILE__, __LINE__);
++static const TCStrSet s_CountriesSet(s_Countries, sizeof(s_Countries), 'c++/src/objects/seqfeat/SubSource.cpp', __LINE__);
+
+ // former legal country names, must be in alphabetical order (case sensitive)
+ static const char* const s_Former_Countries[] = {
+@@ -3061,7 +3061,7 @@
+ "Yugoslavia",
+ "Zaire"
+ };
+-static const TCStrSet s_Former_CountriesSet(s_Former_Countries, sizeof(s_Former_Countries), __FILE__, __LINE__);
++static const TCStrSet s_Former_CountriesSet(s_Former_Countries, sizeof(s_Former_Countries), 'c++/src/objects/seqfeat/SubSource.cpp', __LINE__);
+
+ bool CCountries::IsValid(const string& country)
+ {
+--- ncbi-blastplus.orig/c++/src/serial/datatool/classstr.cpp
++++ ncbi-blastplus/c++/src/serial/datatool/classstr.cpp
+@@ -850,7 +850,7 @@
+ " if (!CanGet"<< mem_cName<<"()) {\n"
+ " ThrowUnassigned("<<member_index;
+ #if 0
+- code.Methods(inl) << ", __FILE__, __LINE__";
++ code.Methods(inl) << ", 'c++/src/serial/datatool/classstr.cpp', __LINE__";
+ #endif
+ code.Methods(inl) << ");\n"
+ " }\n";
+--- ncbi-blastplus.orig/c++/src/serial/serialobject.cpp
++++ ncbi-blastplus/c++/src/serial/serialobject.cpp
+@@ -295,7 +295,7 @@
+ // set temporary diag compile info to use argument file name and line
+ #undef DIAG_COMPILE_INFO
+ #define DIAG_COMPILE_INFO \
+- NCBI_NS_NCBI::CDiagCompileInfo(file_name? file_name: __FILE__, \
++ NCBI_NS_NCBI::CDiagCompileInfo(file_name? file_name: 'c++/src/serial/serialobject.cpp', \
+ file_line? file_line: __LINE__, \
+ NCBI_CURRENT_FUNCTION, \
+ NCBI_MAKE_MODULE(NCBI_MODULE))
+@@ -303,7 +303,7 @@
+ // restore original diag compile info definition
+ #undef DIAG_COMPILE_INFO
+ #define DIAG_COMPILE_INFO \
+- NCBI_NS_NCBI::CDiagCompileInfo(__FILE__, \
++ NCBI_NS_NCBI::CDiagCompileInfo('c++/src/serial/serialobject.cpp', \
+ __LINE__, \
+ NCBI_CURRENT_FUNCTION, \
+ NCBI_MAKE_MODULE(NCBI_MODULE))
+--- ncbi-blastplus.orig/c++/src/util/lmdb/mdb.c
++++ ncbi-blastplus/c++/src/util/lmdb/mdb.c
+@@ -1523,7 +1523,7 @@
+
+ #ifndef NDEBUG
+ # define mdb_assert0(env, expr, expr_txt) ((expr) ? (void)0 : \
+- mdb_assert_fail(env, expr_txt, mdb_func_, __FILE__, __LINE__))
++ mdb_assert_fail(env, expr_txt, mdb_func_, 'c++/src/util/lmdb/mdb.c', __LINE__))
+
+ static void ESECT
+ mdb_assert_fail(MDB_env *env, const char *expr_txt,
+--- ncbi-blastplus.orig/c++/src/util/lmdb/mtest.c
++++ ncbi-blastplus/c++/src/util/lmdb/mtest.c
+@@ -19,7 +19,7 @@
+ #define E(expr) CHECK((rc = (expr)) == MDB_SUCCESS, #expr)
+ #define RES(err, expr) ((rc = expr) == (err) || (CHECK(!rc, #expr), 0))
+ #define CHECK(test, msg) ((test) ? (void)0 : ((void)fprintf(stderr, \
+- "%s:%d: %s: %s\n", __FILE__, __LINE__, msg, mdb_strerror(rc)), abort()))
++ "%s:%d: %s: %s\n", 'c++/src/util/lmdb/mtest.c', __LINE__, msg, mdb_strerror(rc)), abort()))
+
+ int main(int argc,char * argv[])
+ {
+--- ncbi-blastplus.orig/c++/src/util/lmdb/mtest2.c
++++ ncbi-blastplus/c++/src/util/lmdb/mtest2.c
+@@ -22,7 +22,7 @@
+ #define E(expr) CHECK((rc = (expr)) == MDB_SUCCESS, #expr)
+ #define RES(err, expr) ((rc = expr) == (err) || (CHECK(!rc, #expr), 0))
+ #define CHECK(test, msg) ((test) ? (void)0 : ((void)fprintf(stderr, \
+- "%s:%d: %s: %s\n", __FILE__, __LINE__, msg, mdb_strerror(rc)), abort()))
++ "%s:%d: %s: %s\n", 'c++/src/util/lmdb/mtest2.c', __LINE__, msg, mdb_strerror(rc)), abort()))
+
+ int main(int argc,char * argv[])
+ {
+--- ncbi-blastplus.orig/c++/src/util/lmdb/mtest3.c
++++ ncbi-blastplus/c++/src/util/lmdb/mtest3.c
+@@ -22,7 +22,7 @@
+ #define E(expr) CHECK((rc = (expr)) == MDB_SUCCESS, #expr)
+ #define RES(err, expr) ((rc = expr) == (err) || (CHECK(!rc, #expr), 0))
+ #define CHECK(test, msg) ((test) ? (void)0 : ((void)fprintf(stderr, \
+- "%s:%d: %s: %s\n", __FILE__, __LINE__, msg, mdb_strerror(rc)), abort()))
++ "%s:%d: %s: %s\n", 'c++/src/util/lmdb/mtest3.c', __LINE__, msg, mdb_strerror(rc)), abort()))
+
+ int main(int argc,char * argv[])
+ {
+--- ncbi-blastplus.orig/c++/src/util/lmdb/mtest4.c
++++ ncbi-blastplus/c++/src/util/lmdb/mtest4.c
+@@ -22,7 +22,7 @@
+ #define E(expr) CHECK((rc = (expr)) == MDB_SUCCESS, #expr)
+ #define RES(err, expr) ((rc = expr) == (err) || (CHECK(!rc, #expr), 0))
+ #define CHECK(test, msg) ((test) ? (void)0 : ((void)fprintf(stderr, \
+- "%s:%d: %s: %s\n", __FILE__, __LINE__, msg, mdb_strerror(rc)), abort()))
++ "%s:%d: %s: %s\n", 'c++/src/util/lmdb/mtest4.c', __LINE__, msg, mdb_strerror(rc)), abort()))
+
+ int main(int argc,char * argv[])
+ {
+--- ncbi-blastplus.orig/c++/src/util/lmdb/mtest5.c
++++ ncbi-blastplus/c++/src/util/lmdb/mtest5.c
+@@ -22,7 +22,7 @@
+ #define E(expr) CHECK((rc = (expr)) == MDB_SUCCESS, #expr)
+ #define RES(err, expr) ((rc = expr) == (err) || (CHECK(!rc, #expr), 0))
+ #define CHECK(test, msg) ((test) ? (void)0 : ((void)fprintf(stderr, \
+- "%s:%d: %s: %s\n", __FILE__, __LINE__, msg, mdb_strerror(rc)), abort()))
++ "%s:%d: %s: %s\n", 'c++/src/util/lmdb/mtest5.c', __LINE__, msg, mdb_strerror(rc)), abort()))
+
+ int main(int argc,char * argv[])
+ {
+--- ncbi-blastplus.orig/c++/src/util/lmdb/mtest6.c
++++ ncbi-blastplus/c++/src/util/lmdb/mtest6.c
+@@ -22,7 +22,7 @@
+ #define E(expr) CHECK((rc = (expr)) == MDB_SUCCESS, #expr)
+ #define RES(err, expr) ((rc = expr) == (err) || (CHECK(!rc, #expr), 0))
+ #define CHECK(test, msg) ((test) ? (void)0 : ((void)fprintf(stderr, \
+- "%s:%d: %s: %s\n", __FILE__, __LINE__, msg, mdb_strerror(rc)), abort()))
++ "%s:%d: %s: %s\n", 'c++/src/util/lmdb/mtest6.c', __LINE__, msg, mdb_strerror(rc)), abort()))
+
+ char dkbuf[1024];
+
+--- ncbi-blastplus.orig/c++/src/util/regexp/pcre_scanner_unittest.cc
++++ ncbi-blastplus/c++/src/util/regexp/pcre_scanner_unittest.cc
+@@ -51,7 +51,7 @@
+ #define CHECK_EQ(a, b) do { \
+ if ( (a) != (b) ) { \
+ fprintf(stderr, "%s:%d: Check failed because %s != %s\n", \
+- __FILE__, __LINE__, #a, #b); \
++ 'c++/src/util/regexp/pcre_scanner_unittest.cc', __LINE__, #a, #b); \
+ exit(1); \
+ } \
+ } while (0)
+--- ncbi-blastplus.orig/c++/src/util/regexp/pcre_stringpiece_unittest.cc
++++ ncbi-blastplus/c++/src/util/regexp/pcre_stringpiece_unittest.cc
+@@ -19,7 +19,7 @@
+ #define CHECK(condition) do { \
+ if (!(condition)) { \
+ fprintf(stderr, "%s:%d: Check failed: %s\n", \
+- __FILE__, __LINE__, #condition); \
++ 'c++/src/util/regexp/pcre_stringpiece_unittest.cc', __LINE__, #condition); \
+ exit(1); \
+ } \
+ } while (0)
+--- ncbi-blastplus.orig/c++/src/util/static_set.cpp
++++ ncbi-blastplus/c++/src/util/static_set.cpp
+@@ -87,7 +87,7 @@
+ TParamStaticArrayCopyWarning::GetDefault()) ) {
+ // report incorrect usage
+ CDiagCompileInfo diag_compile_info
+- (file? file: __FILE__,
++ (file? file: 'c++/src/util/static_set.cpp',
+ file? line: __LINE__,
+ NCBI_CURRENT_FUNCTION,
+ NCBI_MAKE_MODULE(NCBI_MODULE));
+@@ -122,7 +122,7 @@
+ if ( TParamStaticArrayUnsafeTypeWarning::GetDefault() ) {
+ // report incorrect usage
+ CDiagCompileInfo diag_compile_info
+- (file? file: __FILE__,
++ (file? file: 'c++/src/util/static_set.cpp',
+ file? line: __LINE__,
+ NCBI_CURRENT_FUNCTION,
+ NCBI_MAKE_MODULE(NCBI_MODULE));
+@@ -145,7 +145,7 @@
+ {
+ { // report incorrect usage
+ CDiagCompileInfo diag_compile_info
+- (file? file: __FILE__,
++ (file? file: 'c++/src/util/static_set.cpp',
+ file? line: __LINE__,
+ NCBI_CURRENT_FUNCTION,
+ NCBI_MAKE_MODULE(NCBI_MODULE));